/* 
自定义函数插件
函数就是install方法, 接收Vue参数
当外部调用Vue.use(插件), 自动执行当前插件函数
*/
import Header from './Header.vue';
import dayjs from 'dayjs';

const myPlugin = (Vue) => {
  console.log('myPlugin()')
  // 给Vue原型添加方法
  Vue.prototype.$test = function () {
    console.log('vm/组件对象 $test()');
  };
  // 给Vue添加静态方法   ==> 全局API
  Vue.test = function () {
    console.log('Vue.test()');
  };
  // 注册全局组件
  Vue.component(Header.name, Header);
  // 注册全局指令
  Vue.directive('upper-text', (el, binding) => {
    console.log('upper-text', binding);
    // 向标签中插入全大写的文本
    el.innerText = binding.value.toUpperCase();
  });
  // 注册全局过滤器
  Vue.filter('date-format', (value, formatStr = 'YYYY-MM-DD HH:mm:ss') => {
    // return dayjs(value).format(formatStr || 'YYYY-MM-DD HH:mm:ss')
    return dayjs(value).format(formatStr);
  });
};
export default myPlugin;
